home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LOGIC Apps
/
Logic-APPLE_II_APPS.iso
/
pc
/
LOGIC Apple II 5.25" Library - DOS Part 3
/
DOS065.dsk
/
PAY.bas
< prev
next >
Wrap
BASIC Source File
|
2012-02-16
|
4KB
|
114 lines
10 REM MON GOES HERE
100 HOME : PRINT "INSERT PFILE DISK AND HIT RETURN"
101 INPUT X$
102 NN = 450
105 DIM P$(NN)
110 Z$ = "<CTRL-D>"
111 PRINT Z$;"CATALOG"
112 HOME
120 PRINT Z$;"OPEN PFILE"
130 PRINT Z$;"READ PFILE"
140 FOR E = 0 TO NN
150 INPUT P$(E)
160 NEXT E
170 PRINT Z$;"CLOSE PFILE"
200 REM PAYMENTS
210 HOME : PRINT " PAYMENTS"
211 INPUT "ENTER COMPANY ACCOUNT #";A$
212 PRINT "ENTER COMPANY NAME ": INPUT N$
220 INPUT "ENTER ORIGINAL BILL DATE MONTH/DAY/YEAR ";OD$
230 D$ = OD$: GOSUB 1000
231 OD$ = D$
240 PRINT "ENTER PAYMENT DATE MONTH/DAY/YEAR ": INPUT " ";PD$
250 D$ = PD$: GOSUB 1000:PD$ = D$
260 PRINT "ENTER THE AMOUNT OF PAYMENT ": INPUT "$";AM$
270 PRINT "ENTER THE CHECK #";: INPUT I$
271 I$ = " " +I$
280 INPUT "ENTER ANY COMMENTS ";C$
281 C$ = "PAID" +C$
290 HOME
291 PRINT "ACCOUNT #";A$: PRINT "COMPANY-";N$: PRINT "ORIGINAL BILL DATE ";OD$: PRINT "PAYMENT DATE ";PD$: PRINT "AMOUNT $";AM$: PRINT "CHECK #";I$: PRINT "COMMENTS - ";C$
295 PRINT "IF THIS INFORMATION IS CORRECT": PRINT " HIT RETURN"
296 PRINT : PRINT "IF THERE ARE ANY CHANGES OR CORRECTIONS ": PRINT " THEN TYPE IN A C": INPUT X$
297 IF X$ = "C" THEN 200
300 REM FIND EMPTY P$
310 FOR E = 0 TO NN
320 IF P$(E) = "" THEN 400
330 NEXT E
340 PRINT "FILE IS FULL": STOP
400 REM PLACES DATA IN P$
410 IF LEN(A$) = 3 THEN 430
411 IF LEN(A$) >3 THEN PRINT "ACCOUNT # MAY ONLY BE THREE #'S ": GOTO 200
420 A$ = "0" +A$: GOTO 410
430 P$(E) = PD$ +A$
440 IF LEN(N$) = 25 THEN 460
444 IF LEN(N$) >25 THEN N$ = LEFT$(N$,25): GOTO 460
450 N$ = N$ +" ": GOTO 440
460 P$(E) = P$(E) +N$
470 REM CHECK#
471 IF LEN(I$) = 9 THEN 475
472 I$ = I$ +" ": GOTO 471
475 P$(E) = P$(E) +I$
480 REM AMOUNT
481 AM = VAL(AM$):V = AM: GOSUB 6000:AM$ = V$:AM = VAL(AM$) * -1:AM$ = STR$(AM)
482 IF LEN(AM$) = >10 THEN 485
483 AM$ = " " +AM$: GOTO 482
485 P$(E) = P$(E) +AM$
490 REM COMMENTS
491 IF LEN(C$) >15 THEN C$ = LEFT$(C$,15)
492 IF LEN(C$) = 15 THEN 495
493 C$ = C$ +" ": GOTO 492
495 P$(E) = P$(E) +C$
496 P$(E) = P$(E) +OD$
500 REM ALL DATA IN
505 HOME
510 PRINT "TYPE IN A 'Y' IF THERE IS ANOTHER": PRINT "ENTRY FOR ";N$
511 PRINT : PRINT "OTHERWISE HIT RETURN "
520 INPUT X$
521 IF X$ = "Y" THEN PD$ = "":OD$ = "":I$ = "":AM$ = "":C$ = "": HOME : PRINT A$: PRINT N$: GOTO 220
530 HOME : PRINT "ANY MORE ENTRY'S FOR THE JOURNAL (Y/N) ": INPUT X$
531 IF X$ = "N" THEN 900
535 GOTO 200
900 REM WRITE TO DISK TWICE
910 PRINT Z$;"CATALOG": HOME
920 PRINT Z$;"OPEN PFILE"
930 PRINT Z$;"WRITE PFILE"
940 FOR E = 0 TO NN
950 PRINT P$(E)
960 NEXT E
970 PRINT Z$;"CLOSE PFILE"
980 PRINT "INSERT BACKUP DISK"
985 PRINT " AND HIT RETURN WHEN READY"
989 INPUT X$
990 PRINT Z$;"CATALOG": HOME
991 PRINT Z$;"OPEN PFILE"
992 PRINT Z$;"WRITE PFILE"
993 FOR E = 0 TO NN
994 PRINT P$(E)
995 NEXT E
996 PRINT Z$;"CLOSE PFILE"
997 PRINT "END OF DISK WRITE ROUTINE"
998 PRINT "THANK YOU"
999 END
1000 REM SUB FOR DATE CONVERSION
1010 M$ = LEFT$(D$,2)
1020 IF MID$ (D$,2,1) = "/" THEN M$ = "0" + LEFT$(D$,1)
1030 DY$ = MID$ (D$,3,1): IF DY$ = "/" THEN DY$ = MID$ (D$,4,1): GOTO 1060
1040 DA$ = MID$ (D$,4,1): IF DA$ = "/" THEN DY$ = "0" +DY$:DA$ = "": GOTO 1070
1050 IF DA$ < >"/" THEN 1070
1060 DA$ = MID$ (D$,5,1): IF DA$ = "/" THEN DY$ = "0" +DY$: GOTO 1080
1070 DY$ = DY$ +DA$
1080 YR$ = RIGHT$(D$,2)
1090 D$ = M$ +"/" +DY$ +"/" +YR$: RETURN
6000 REM FOR ROUND
6005 V = INT(V *10 ^2 +.5)/ INT(10 ^2 +.5)
6010 IF V < > INT(V) THEN 6021
6020 V$ = STR$(V) +".00": GOTO 6040
6021 V1 = V - INT(V)
6022 V1 = INT(V1 *100 +.5)/100
6030 V$ = STR$(V1)
6031 IF LEN(V$) = 2 THEN V$ = V$ +"0"
6032 V$ = STR$( INT(V)) +V$
6040 IF LEN(V$) = >10 THEN 6050
6045 V$ = " " +V$: GOTO 6040
6050 RETURN